package FileMethod.Practice;

import java.io.File;

public class Extend {
    public static void main(String[] args) {
        /*
        扩展练习:
            统计一个文件大总大小
         */

        //需要统计的文件
        File file=new File("D:\\Java");
        long len = getLen(file);
        System.out.println(len/1024/1024);

    }

    /**
     * 作用:
     *      统计一个文件夹的总大小
     * 参数:
     *      表示要统计的那个文件夹的大小
     *返回值:
     *      统计之后的结果
     *文件夹的总大小
     *      文件夹里面所有文件的大小
     *
     *     * @param src
     * @return
     */
    public static long getLen(File src){
        //定义变量len存储文件大小并返回
        long len=0;
        //进入文件夹
        File[] files = src.listFiles();
        //遍历数组
        for (File file : files) {
            //判断是否为文件
            if(file.isFile()){
                //我们把当前文件的大小累加到len当中
                len = len + file.length();
            }else{
                //如果还有文件，则进行执行getLen，形成递归
                len = len + getLen(file);

            }
        }
        return len;
    }
}
